22-Jul-93 To fix the problem with Borland C compilers in large memory models do the following: 1. Create a new directory. 2. Copy BULLET.LIB 1.03 to it 3. Copy this fix's files to it (DOSFNXB.OBJ and MEMCXB.OBJ) 4. Do C>lib bullet.lib -+dosfnxb -memxb +memcxb; (exactly!) That's it. BULLET.LIB is updated and should run as expected. The memcxb.obj is written for LARGE memory model, only. With a couple conditionals, MEDIUM could be used but it's not necessary. The problem with Borland compilers is that the base their memory management on memory that isn't theirs, so whenever a DOS INT21/48 call is made, the Borland memory manager crashes. This patch routes BULLET DOS INT21/48/49 calls to _malloc and _free. This patch is for LARGE models only. It's not required for MEDIUM. MEMCXB.ASM is included. Makes for easy programmer changes of this non- standard module (non-standard in that it requires a C runtime library). --The reason DOSFNXB.OBJ is removed and replaced (-+dosfnxb) from the .LIB is that xb$malloc, xb$free, and xb$SetHandleCount are in that module. The new DOSFNXB.OBJ does not have these. These routines have been put in their own module, MEMCXB.OBJ, which is added to the library (+memcxb). BTW, the xb$SetHandleCount no longer works. I'll have to do it manually (which I had to do in previous code since INT21/67 is available only in DOS 3.3+) but that's no problem. If you call INITXB with IP.jftmode=1, error 1 is return for invalid function. chh